package com.vogue.supplymall.match.domain.service;

import java.util.List;
import java.util.Map;

import com.vogue.supplymall.common.domain.dto.SearchInfo;
import com.vogue.supplymall.match.domain.dto.BaseDTO;
import com.vogue.supplymall.match.domain.dto.BuyerOrganDTO;
import com.vogue.supplymall.match.domain.dto.EnterpriseDTO;
import com.vogue.supplymall.match.domain.dto.SellerOrganDTO;
import com.vogue.supplymall.match.domain.dto.UserDTO;
import com.vogue.supplymall.match.domain.model.MatchOrgan;

public interface MatchOrganService extends BaseService<MatchOrgan, Long>{
	public Map<String, Object> matchEnterprise(BaseDTO<EnterpriseDTO> baseDTO) throws Exception;
	public Map<String, Object> matchBuyerOrgan(BaseDTO<BuyerOrganDTO> baseDTO) throws Exception;
	public Map<String, Object> matchSellerOrgan(BaseDTO<List<SellerOrganDTO>> baseDTO) throws Exception;
	public Map<String, Object> matchUser(BaseDTO<List<UserDTO>> baseDTO) throws Exception;
	/**
	 * 根据sysCodeId和matchId得到match_organ的id
	 */
	public Long getMatchOrganIdBySM(Long sysCodeId,String matchId);

	/**
	 * Count valid shop long.
	 * admin-business使用，查询所有开通的店铺
	 *
	 * @return the long
	 */
	Long countValidOrgan();

	/**
	 * admin-business使用，根据id的list查询多个机构信息
	 *
	 * @return the long
	 */
	List<Map<String,Object>> findOrganByIds(Map<String,List> para);
	
	/**
	 * 根据分类id查询出所有供货商
	 * 
	 * @param categoryId
	 * @return
	 */
	List<Map<String,Object>> findOrganByCategoryId(Long categoryId);

	/**
	 * 根据查询条件，查询出所有供货商
	 * @param searchInfo
	 * @return
	 */
	List<Map<String,Object>> findOrgan(SearchInfo searchInfo);
}
